#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/fcntl.h>


// int __attribute__((fastcall)) add(int v1, int v2, int v3, int v4, int v5, int v6, int v7)
// {
//     return v1 + v2;
// }


int add(int a, int b)
{
    printf("add: %d + %d = %d\n", a, b, a + b);
    return 0;
}

/**
 * @brief
 *
 * @param argc
 * @param argv
 * @return int
 */
int main(int argc, char **argv)
{
    int a = 10;
    asm volatile("call %%rax;"::"a"(add),"d" (1),"s" (2));


    // printf("hello world\n");

    // add(1, 2, 3, 4, 5, 6, 7);



    // __asm__ volatile

    return 0;
}

